#include<stdio.h>
struct ren
{
	char com[15];
	char name[20];
	int n;
};
int main()
{
	struct ren s[30],flag;
	int t,k,i,w;
	scanf("%d",&w);

	for(i=0; i<w; i++)
	{
		scanf("%d",&k);
		for(t=0; t<k; t++)
		{
			scanf("%s %s %d",&s[t].com,&s[t].name,&s[t].n);
		}
		int temp,j;
		for(t=0; t<k-1; t++)
		{
			for(j=0; j<k-1-t; j++)
			{
				if(s[j].n<s[j+1].n)
				{
					flag=s[j];
					s[j]=s[j+1];
					s[j+1]=flag;
				}
			}
		}
		for(t=0; t<k-1; t++)
			printf("%s ",s[t].com);
		printf("%s\n",s[k-1].com);
		for(t=0; t<k-1; t++)
			printf("%s ",s[t].name);
		printf("%s\n",s[k-1].name);
		for(t=0; t<k-1; t++)
			printf("%d ",s[t].n);
		printf("%d\n",s[k-1].n);
	}
	return 0;
}

